A Model Of Human Cognitive Behavior in Writing Code For Computer Programs
نویسنده
چکیده
A theory of human cognitive processes in writing code for computer programs is presented. It views behavior In terms of three processes, understanding, planning, and coding. Thü first of these consists of acquisition of information from the problem instructions and directions. This is used by the planning process to create a solution plan stated as a set of functional specifications ■ . a language which is independent of the syntax of the particular programming language. The coding process converts this plan to code using a process named "symbolic execution" in which pieces of code are assigned effects expressed in terms of the functions the programmer intends the code to perform in achieving th« purpose of the program. Within the framework of this theory, a more explicit model of the coding process was developed. The model is based on a production system and has been implemented as a computer program. Given plans taken from protocols of a programmer writing a series of short FORTRAN programs, it is able to generate the same code in the same order as the programmer did. The model makes three assertions about programmer behavior in writing programs: 1. Programmers have a large amount of specific knowledge about how to encode particular plan elements. 2. Programmers generate code by using the effects assigned to each piece fo generate the next. 3. The basic units of a programmer's knowledge of language syntax are determined by the way in which he uses the language, rather than by properties of the syntax alone. The implications of these assertions are discussed fothe use of production systems to represent behavior, for teaching programming, for error analysi? in de-buggi^, and for the use of back-tracking in problem solving systems.
منابع مشابه
Measurement of Complexity and Comprehension of a Program Through a Cognitive Approach
The inherent complexity of the software systems creates problems in the software engineering industry. Numerous techniques have been designed to comprehend the fundamental characteristics of software systems. To understand the software, it is necessary to know about the complexity level of the source code. Cognitive informatics perform an important role for better understanding the complexity o...
متن کاملThe Role of Cognitive Biases in scientific information behavior of postgraduate students in Kharazmi University
Background and Aim: considering the significance of cognitive and psychological factors in human-information interaction, this study investigates the role of cognitive biases in academic information behavior of postgraduate students at Kharazmi University. Methodology: this qualitative research used classic grounded theory as the method. The research population included all postgraduate of Kha...
متن کاملEffects of Task Complexity Increase on Computer-Mediated L2 Writing and Temporal Distribution of Cognitive and Metacognitive Processes
This study examined the effects of cognitive task complexity increase on the complexity, accuracy, and fluency (CAF) as well as the temporal distribution of the cognitive and metacognitive processes involved in computer-mediated L2 written production. To this end, the study employed a between-subjects experimental design with 85 EFL learners from a language learning institute in Iran. Participa...
متن کاملAn Empirical Examination of the Association between Individual Differences Variables and Writing Performance of Iranian EFL Learners
The present study was designed to initially test a model of the role of a set of cognitive (namely, aptitude and working memory) and motivational (namely, language learning goals, self-efficacy beliefs and self-regulation strategy use) individual differences variables in writing performance of a group of Iranian undergraduate EFL learners and, subsequently, to identify the possible differences ...
متن کاملNeuro-ACT Cognitive Architecture Applications in Modeling Driver’s Steering Behavior in Turns
Cognitive Architectures (CAs) are the core of artificial cognitive systems. A CA is supposed to specify the human brain at a level of abstraction suitable for explaining how it achieves the functions of the mind. Over the years a number of distinct CAs have been proposed by different authors and their limitations and potentials were investigated. These CAs are usually classified as symbolic and...
متن کامل